<?php

class AjaxVerifierLoginClientAction extends Action{
	/*
	Classe d'action declenchée suite à un appel ajax
	*/
	
	//symbolyse notre document xml
	protected $xmlDoc;
	//symbolyse le noeud le plus haut du doc xml
	protected $parentNode;
	
	
	function execute( HttpRequest $request ){
			
			//recuperation des DAO
			$DAOfactory=AbstractDAOFactory::getDaoFactory(AbstractDAOFactory::MYSQL);
			$clientDAO=$DAOfactory->getClientDAO();
			$clients=$clientDAO->getAll();
		 
			//on formatte l'entete pour une reponse de type xml
			header('Content-type: text/xml');
			
			$this->xmlDoc = new DomDocument('1.0','utf-8');
			$this->parentNode=$this->xmlDoc->appendChild($this->xmlDoc->createElement('clients'));
			//pour chaque client on creer un noeud <login> avec ses données
			foreach( $clients as $client ) {
				$this->addLoginToXML($client);
			}
			//on renvoie notre document xml (le traitement (dispo/non dispo)sera effectue cote javascript (approche differente par rapport aux autres classes d'action ajax)
			$xmlString = $this->xmlDoc->saveXML();
			echo  $xmlString;
	}
	
	function addLoginToXML($client){
			//on creer les noeuds <login>
		    $login = $this->xmlDoc->createElement('login');
			$this->parentNode->appendChild($login);
			$login->appendChild($this->xmlDoc->createTextNode($client->getLogin()));	
	}
    
}